package de.rwth.parser.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.common.util.Enumerator;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.xtext.conversion.ValueConverterException;
import de.rwth.services.AdroidGuiLangGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

public class InternalAdroidGuiLangParser extends AbstractInternalAntlrParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_INT", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Window'", "'+color='", "'One-Column-List'", "'Two-Column-List'", "'Three-Column-List'", "'RadioBox'", "'SeperatorLine'", "'(+)'", "'( )'", "'Button'", "'Placeholder'", "'+height='", "'Image'", "'CheckBox [+]'", "'CheckBox [ ]'", "'Label'", "'+centered'", "'EditText'", "'null'", "'blue'", "'red'", "'green'", "'gray'", "'lila'", "'orange'", "'blueLight'", "'redLight'", "'greenLight'", "'grayLight'", "'lilaLight'", "'orangeLight'", "'white'", "'black'"
    };
    public static final int RULE_ID=6;
    public static final int RULE_STRING=4;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalAdroidGuiLangParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g"; }


     
     	private AdroidGuiLangGrammarAccess grammarAccess;
     	
        public InternalAdroidGuiLangParser(TokenStream input, IAstFactory factory, AdroidGuiLangGrammarAccess grammarAccess) {
            this(input);
            this.factory = factory;
            registerRules(grammarAccess.getGrammar());
            this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected InputStream getTokenFile() {
        	ClassLoader classLoader = getClass().getClassLoader();
        	return classLoader.getResourceAsStream("de/rwth/parser/antlr/internal/InternalAdroidGuiLang.tokens");
        }
        
        @Override
        protected String getFirstRuleName() {
        	return "Window";	
       	} 



    // $ANTLR start entryRuleWindow
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:73:1: entryRuleWindow returns [EObject current=null] : iv_ruleWindow= ruleWindow EOF ;
    public final EObject entryRuleWindow() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleWindow = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:73:48: (iv_ruleWindow= ruleWindow EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:74:2: iv_ruleWindow= ruleWindow EOF
            {
             currentNode = createCompositeNode(grammarAccess.getWindowRule(), currentNode); 
            pushFollow(FOLLOW_ruleWindow_in_entryRuleWindow73);
            iv_ruleWindow=ruleWindow();
            _fsp--;

             current =iv_ruleWindow; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleWindow83); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleWindow


    // $ANTLR start ruleWindow
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:81:1: ruleWindow returns [EObject current=null] : ( 'Window' ( (lv_Windowtitel_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleBox ) )+ ) ;
    public final EObject ruleWindow() throws RecognitionException {
        EObject current = null;

        Token lv_Windowtitel_1_0=null;
        Enumerator lv_color_3_0 = null;

        EObject lv_elements_4_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:86:6: ( ( 'Window' ( (lv_Windowtitel_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleBox ) )+ ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:87:1: ( 'Window' ( (lv_Windowtitel_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleBox ) )+ )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:87:1: ( 'Window' ( (lv_Windowtitel_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleBox ) )+ )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:87:2: 'Window' ( (lv_Windowtitel_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleBox ) )+
            {
            match(input,11,FOLLOW_11_in_ruleWindow117); 

                    createLeafNode(grammarAccess.getWindowAccess().getWindowKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:91:1: ( (lv_Windowtitel_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:92:1: (lv_Windowtitel_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:92:1: (lv_Windowtitel_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:93:3: lv_Windowtitel_1_0= RULE_STRING
            {
            lv_Windowtitel_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleWindow134); 

            			createLeafNode(grammarAccess.getWindowAccess().getWindowtitelSTRINGTerminalRuleCall_1_0(), "Windowtitel"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getWindowRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Windowtitel",
            	        		lv_Windowtitel_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:115:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0==12) ) {
                alt1=1;
            }
            switch (alt1) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:115:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleWindow149); 

                            createLeafNode(grammarAccess.getWindowAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:119:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:120:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:120:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:121:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getWindowAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleWindow170);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getWindowRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:143:4: ( (lv_elements_4_0= ruleBox ) )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0>=13 && LA2_0<=17)) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:144:1: (lv_elements_4_0= ruleBox )
            	    {
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:144:1: (lv_elements_4_0= ruleBox )
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:145:3: lv_elements_4_0= ruleBox
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getWindowAccess().getElementsBoxParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleBox_in_ruleWindow193);
            	    lv_elements_4_0=ruleBox();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getWindowRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"elements",
            	    	        		lv_elements_4_0, 
            	    	        		"Box", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleWindow


    // $ANTLR start entryRuleBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:174:1: entryRuleBox returns [EObject current=null] : iv_ruleBox= ruleBox EOF ;
    public final EObject entryRuleBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:174:45: (iv_ruleBox= ruleBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:175:2: iv_ruleBox= ruleBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleBox_in_entryRuleBox227);
            iv_ruleBox=ruleBox();
            _fsp--;

             current =iv_ruleBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBox237); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleBox


    // $ANTLR start ruleBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:182:1: ruleBox returns [EObject current=null] : (this_OneColumnBox_0= ruleOneColumnBox | this_TwoColumnBox_1= ruleTwoColumnBox | this_ThreeColumnBox_2= ruleThreeColumnBox | this_RadioBox_3= ruleRadioBox | this_SeperatorLine_4= ruleSeperatorLine ) ;
    public final EObject ruleBox() throws RecognitionException {
        EObject current = null;

        EObject this_OneColumnBox_0 = null;

        EObject this_TwoColumnBox_1 = null;

        EObject this_ThreeColumnBox_2 = null;

        EObject this_RadioBox_3 = null;

        EObject this_SeperatorLine_4 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:187:6: ( (this_OneColumnBox_0= ruleOneColumnBox | this_TwoColumnBox_1= ruleTwoColumnBox | this_ThreeColumnBox_2= ruleThreeColumnBox | this_RadioBox_3= ruleRadioBox | this_SeperatorLine_4= ruleSeperatorLine ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:188:1: (this_OneColumnBox_0= ruleOneColumnBox | this_TwoColumnBox_1= ruleTwoColumnBox | this_ThreeColumnBox_2= ruleThreeColumnBox | this_RadioBox_3= ruleRadioBox | this_SeperatorLine_4= ruleSeperatorLine )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:188:1: (this_OneColumnBox_0= ruleOneColumnBox | this_TwoColumnBox_1= ruleTwoColumnBox | this_ThreeColumnBox_2= ruleThreeColumnBox | this_RadioBox_3= ruleRadioBox | this_SeperatorLine_4= ruleSeperatorLine )
            int alt3=5;
            switch ( input.LA(1) ) {
            case 13:
                {
                alt3=1;
                }
                break;
            case 14:
                {
                alt3=2;
                }
                break;
            case 15:
                {
                alt3=3;
                }
                break;
            case 16:
                {
                alt3=4;
                }
                break;
            case 17:
                {
                alt3=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("188:1: (this_OneColumnBox_0= ruleOneColumnBox | this_TwoColumnBox_1= ruleTwoColumnBox | this_ThreeColumnBox_2= ruleThreeColumnBox | this_RadioBox_3= ruleRadioBox | this_SeperatorLine_4= ruleSeperatorLine )", 3, 0, input);

                throw nvae;
            }

            switch (alt3) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:189:5: this_OneColumnBox_0= ruleOneColumnBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBoxAccess().getOneColumnBoxParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleOneColumnBox_in_ruleBox284);
                    this_OneColumnBox_0=ruleOneColumnBox();
                    _fsp--;

                     
                            current = this_OneColumnBox_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:199:5: this_TwoColumnBox_1= ruleTwoColumnBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBoxAccess().getTwoColumnBoxParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleTwoColumnBox_in_ruleBox311);
                    this_TwoColumnBox_1=ruleTwoColumnBox();
                    _fsp--;

                     
                            current = this_TwoColumnBox_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 3 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:209:5: this_ThreeColumnBox_2= ruleThreeColumnBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBoxAccess().getThreeColumnBoxParserRuleCall_2(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleThreeColumnBox_in_ruleBox338);
                    this_ThreeColumnBox_2=ruleThreeColumnBox();
                    _fsp--;

                     
                            current = this_ThreeColumnBox_2; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 4 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:219:5: this_RadioBox_3= ruleRadioBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBoxAccess().getRadioBoxParserRuleCall_3(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleRadioBox_in_ruleBox365);
                    this_RadioBox_3=ruleRadioBox();
                    _fsp--;

                     
                            current = this_RadioBox_3; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 5 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:229:5: this_SeperatorLine_4= ruleSeperatorLine
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBoxAccess().getSeperatorLineParserRuleCall_4(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleSeperatorLine_in_ruleBox392);
                    this_SeperatorLine_4=ruleSeperatorLine();
                    _fsp--;

                     
                            current = this_SeperatorLine_4; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleBox


    // $ANTLR start entryRuleOneColumnBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:244:1: entryRuleOneColumnBox returns [EObject current=null] : iv_ruleOneColumnBox= ruleOneColumnBox EOF ;
    public final EObject entryRuleOneColumnBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleOneColumnBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:244:54: (iv_ruleOneColumnBox= ruleOneColumnBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:245:2: iv_ruleOneColumnBox= ruleOneColumnBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getOneColumnBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleOneColumnBox_in_entryRuleOneColumnBox424);
            iv_ruleOneColumnBox=ruleOneColumnBox();
            _fsp--;

             current =iv_ruleOneColumnBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleOneColumnBox434); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleOneColumnBox


    // $ANTLR start ruleOneColumnBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:252:1: ruleOneColumnBox returns [EObject current=null] : ( 'One-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleGuiElement ) )+ ) ;
    public final EObject ruleOneColumnBox() throws RecognitionException {
        EObject current = null;

        Token lv_Description_1_0=null;
        Enumerator lv_color_3_0 = null;

        EObject lv_elements_4_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:257:6: ( ( 'One-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleGuiElement ) )+ ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:258:1: ( 'One-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleGuiElement ) )+ )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:258:1: ( 'One-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleGuiElement ) )+ )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:258:2: 'One-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleGuiElement ) )+
            {
            match(input,13,FOLLOW_13_in_ruleOneColumnBox468); 

                    createLeafNode(grammarAccess.getOneColumnBoxAccess().getOneColumnListKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:262:1: ( (lv_Description_1_0= RULE_STRING ) )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==RULE_STRING) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:263:1: (lv_Description_1_0= RULE_STRING )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:263:1: (lv_Description_1_0= RULE_STRING )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:264:3: lv_Description_1_0= RULE_STRING
                    {
                    lv_Description_1_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleOneColumnBox485); 

                    			createLeafNode(grammarAccess.getOneColumnBoxAccess().getDescriptionSTRINGTerminalRuleCall_1_0(), "Description"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getOneColumnBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"Description",
                    	        		lv_Description_1_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:286:3: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==12) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:286:4: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleOneColumnBox501); 

                            createLeafNode(grammarAccess.getOneColumnBoxAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:290:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:291:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:291:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:292:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getOneColumnBoxAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleOneColumnBox522);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getOneColumnBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:314:4: ( (lv_elements_4_0= ruleGuiElement ) )+
            int cnt6=0;
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( ((LA6_0>=20 && LA6_0<=21)||(LA6_0>=23 && LA6_0<=26)||LA6_0==28) ) {
                    alt6=1;
                }


                switch (alt6) {
            	case 1 :
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:315:1: (lv_elements_4_0= ruleGuiElement )
            	    {
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:315:1: (lv_elements_4_0= ruleGuiElement )
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:316:3: lv_elements_4_0= ruleGuiElement
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getOneColumnBoxAccess().getElementsGuiElementParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleGuiElement_in_ruleOneColumnBox545);
            	    lv_elements_4_0=ruleGuiElement();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getOneColumnBoxRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"elements",
            	    	        		lv_elements_4_0, 
            	    	        		"GuiElement", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt6 >= 1 ) break loop6;
                        EarlyExitException eee =
                            new EarlyExitException(6, input);
                        throw eee;
                }
                cnt6++;
            } while (true);


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleOneColumnBox


    // $ANTLR start entryRuleTwoColumnBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:345:1: entryRuleTwoColumnBox returns [EObject current=null] : iv_ruleTwoColumnBox= ruleTwoColumnBox EOF ;
    public final EObject entryRuleTwoColumnBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleTwoColumnBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:345:54: (iv_ruleTwoColumnBox= ruleTwoColumnBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:346:2: iv_ruleTwoColumnBox= ruleTwoColumnBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getTwoColumnBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleTwoColumnBox_in_entryRuleTwoColumnBox579);
            iv_ruleTwoColumnBox=ruleTwoColumnBox();
            _fsp--;

             current =iv_ruleTwoColumnBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTwoColumnBox589); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleTwoColumnBox


    // $ANTLR start ruleTwoColumnBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:353:1: ruleTwoColumnBox returns [EObject current=null] : ( 'Two-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleTwoColumnLine ) )+ ) ;
    public final EObject ruleTwoColumnBox() throws RecognitionException {
        EObject current = null;

        Token lv_Description_1_0=null;
        Enumerator lv_color_3_0 = null;

        EObject lv_elements_4_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:358:6: ( ( 'Two-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleTwoColumnLine ) )+ ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:359:1: ( 'Two-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleTwoColumnLine ) )+ )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:359:1: ( 'Two-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleTwoColumnLine ) )+ )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:359:2: 'Two-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleTwoColumnLine ) )+
            {
            match(input,14,FOLLOW_14_in_ruleTwoColumnBox623); 

                    createLeafNode(grammarAccess.getTwoColumnBoxAccess().getTwoColumnListKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:363:1: ( (lv_Description_1_0= RULE_STRING ) )?
            int alt7=2;
            int LA7_0 = input.LA(1);

            if ( (LA7_0==RULE_STRING) ) {
                alt7=1;
            }
            switch (alt7) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:364:1: (lv_Description_1_0= RULE_STRING )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:364:1: (lv_Description_1_0= RULE_STRING )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:365:3: lv_Description_1_0= RULE_STRING
                    {
                    lv_Description_1_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleTwoColumnBox640); 

                    			createLeafNode(grammarAccess.getTwoColumnBoxAccess().getDescriptionSTRINGTerminalRuleCall_1_0(), "Description"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getTwoColumnBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"Description",
                    	        		lv_Description_1_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:387:3: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( (LA8_0==12) ) {
                alt8=1;
            }
            switch (alt8) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:387:4: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleTwoColumnBox656); 

                            createLeafNode(grammarAccess.getTwoColumnBoxAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:391:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:392:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:392:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:393:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getTwoColumnBoxAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleTwoColumnBox677);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getTwoColumnBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:415:4: ( (lv_elements_4_0= ruleTwoColumnLine ) )+
            int cnt9=0;
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( ((LA9_0>=20 && LA9_0<=21)||(LA9_0>=23 && LA9_0<=26)||LA9_0==28) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:416:1: (lv_elements_4_0= ruleTwoColumnLine )
            	    {
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:416:1: (lv_elements_4_0= ruleTwoColumnLine )
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:417:3: lv_elements_4_0= ruleTwoColumnLine
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getTwoColumnBoxAccess().getElementsTwoColumnLineParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleTwoColumnLine_in_ruleTwoColumnBox700);
            	    lv_elements_4_0=ruleTwoColumnLine();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getTwoColumnBoxRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"elements",
            	    	        		lv_elements_4_0, 
            	    	        		"TwoColumnLine", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt9 >= 1 ) break loop9;
                        EarlyExitException eee =
                            new EarlyExitException(9, input);
                        throw eee;
                }
                cnt9++;
            } while (true);


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleTwoColumnBox


    // $ANTLR start entryRuleTwoColumnLine
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:446:1: entryRuleTwoColumnLine returns [EObject current=null] : iv_ruleTwoColumnLine= ruleTwoColumnLine EOF ;
    public final EObject entryRuleTwoColumnLine() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleTwoColumnLine = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:446:55: (iv_ruleTwoColumnLine= ruleTwoColumnLine EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:447:2: iv_ruleTwoColumnLine= ruleTwoColumnLine EOF
            {
             currentNode = createCompositeNode(grammarAccess.getTwoColumnLineRule(), currentNode); 
            pushFollow(FOLLOW_ruleTwoColumnLine_in_entryRuleTwoColumnLine734);
            iv_ruleTwoColumnLine=ruleTwoColumnLine();
            _fsp--;

             current =iv_ruleTwoColumnLine; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTwoColumnLine744); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleTwoColumnLine


    // $ANTLR start ruleTwoColumnLine
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:454:1: ruleTwoColumnLine returns [EObject current=null] : ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ) ;
    public final EObject ruleTwoColumnLine() throws RecognitionException {
        EObject current = null;

        EObject lv_firstElement_0_0 = null;

        EObject lv_secondElement_1_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:459:6: ( ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:460:1: ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:460:1: ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:460:2: ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:460:2: ( (lv_firstElement_0_0= ruleGuiElement ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:461:1: (lv_firstElement_0_0= ruleGuiElement )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:461:1: (lv_firstElement_0_0= ruleGuiElement )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:462:3: lv_firstElement_0_0= ruleGuiElement
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getTwoColumnLineAccess().getFirstElementGuiElementParserRuleCall_0_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleGuiElement_in_ruleTwoColumnLine790);
            lv_firstElement_0_0=ruleGuiElement();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getTwoColumnLineRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"firstElement",
            	        		lv_firstElement_0_0, 
            	        		"GuiElement", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:484:2: ( (lv_secondElement_1_0= ruleGuiElement ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:485:1: (lv_secondElement_1_0= ruleGuiElement )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:485:1: (lv_secondElement_1_0= ruleGuiElement )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:486:3: lv_secondElement_1_0= ruleGuiElement
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getTwoColumnLineAccess().getSecondElementGuiElementParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleGuiElement_in_ruleTwoColumnLine811);
            lv_secondElement_1_0=ruleGuiElement();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getTwoColumnLineRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"secondElement",
            	        		lv_secondElement_1_0, 
            	        		"GuiElement", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleTwoColumnLine


    // $ANTLR start entryRuleThreeColumnBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:515:1: entryRuleThreeColumnBox returns [EObject current=null] : iv_ruleThreeColumnBox= ruleThreeColumnBox EOF ;
    public final EObject entryRuleThreeColumnBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleThreeColumnBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:515:56: (iv_ruleThreeColumnBox= ruleThreeColumnBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:516:2: iv_ruleThreeColumnBox= ruleThreeColumnBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getThreeColumnBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleThreeColumnBox_in_entryRuleThreeColumnBox844);
            iv_ruleThreeColumnBox=ruleThreeColumnBox();
            _fsp--;

             current =iv_ruleThreeColumnBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleThreeColumnBox854); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleThreeColumnBox


    // $ANTLR start ruleThreeColumnBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:523:1: ruleThreeColumnBox returns [EObject current=null] : ( 'Three-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleThreeColumnLine ) )+ ) ;
    public final EObject ruleThreeColumnBox() throws RecognitionException {
        EObject current = null;

        Token lv_Description_1_0=null;
        Enumerator lv_color_3_0 = null;

        EObject lv_elements_4_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:528:6: ( ( 'Three-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleThreeColumnLine ) )+ ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:529:1: ( 'Three-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleThreeColumnLine ) )+ )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:529:1: ( 'Three-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleThreeColumnLine ) )+ )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:529:2: 'Three-Column-List' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_elements_4_0= ruleThreeColumnLine ) )+
            {
            match(input,15,FOLLOW_15_in_ruleThreeColumnBox888); 

                    createLeafNode(grammarAccess.getThreeColumnBoxAccess().getThreeColumnListKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:533:1: ( (lv_Description_1_0= RULE_STRING ) )?
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==RULE_STRING) ) {
                alt10=1;
            }
            switch (alt10) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:534:1: (lv_Description_1_0= RULE_STRING )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:534:1: (lv_Description_1_0= RULE_STRING )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:535:3: lv_Description_1_0= RULE_STRING
                    {
                    lv_Description_1_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleThreeColumnBox905); 

                    			createLeafNode(grammarAccess.getThreeColumnBoxAccess().getDescriptionSTRINGTerminalRuleCall_1_0(), "Description"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getThreeColumnBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"Description",
                    	        		lv_Description_1_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:557:3: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==12) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:557:4: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleThreeColumnBox921); 

                            createLeafNode(grammarAccess.getThreeColumnBoxAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:561:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:562:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:562:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:563:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getThreeColumnBoxAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleThreeColumnBox942);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getThreeColumnBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:585:4: ( (lv_elements_4_0= ruleThreeColumnLine ) )+
            int cnt12=0;
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( ((LA12_0>=20 && LA12_0<=21)||(LA12_0>=23 && LA12_0<=26)||LA12_0==28) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:586:1: (lv_elements_4_0= ruleThreeColumnLine )
            	    {
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:586:1: (lv_elements_4_0= ruleThreeColumnLine )
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:587:3: lv_elements_4_0= ruleThreeColumnLine
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getThreeColumnBoxAccess().getElementsThreeColumnLineParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleThreeColumnLine_in_ruleThreeColumnBox965);
            	    lv_elements_4_0=ruleThreeColumnLine();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getThreeColumnBoxRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"elements",
            	    	        		lv_elements_4_0, 
            	    	        		"ThreeColumnLine", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt12 >= 1 ) break loop12;
                        EarlyExitException eee =
                            new EarlyExitException(12, input);
                        throw eee;
                }
                cnt12++;
            } while (true);


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleThreeColumnBox


    // $ANTLR start entryRuleThreeColumnLine
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:616:1: entryRuleThreeColumnLine returns [EObject current=null] : iv_ruleThreeColumnLine= ruleThreeColumnLine EOF ;
    public final EObject entryRuleThreeColumnLine() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleThreeColumnLine = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:616:57: (iv_ruleThreeColumnLine= ruleThreeColumnLine EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:617:2: iv_ruleThreeColumnLine= ruleThreeColumnLine EOF
            {
             currentNode = createCompositeNode(grammarAccess.getThreeColumnLineRule(), currentNode); 
            pushFollow(FOLLOW_ruleThreeColumnLine_in_entryRuleThreeColumnLine999);
            iv_ruleThreeColumnLine=ruleThreeColumnLine();
            _fsp--;

             current =iv_ruleThreeColumnLine; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleThreeColumnLine1009); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleThreeColumnLine


    // $ANTLR start ruleThreeColumnLine
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:624:1: ruleThreeColumnLine returns [EObject current=null] : ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ( (lv_thirdElement_2_0= ruleGuiElement ) ) ) ;
    public final EObject ruleThreeColumnLine() throws RecognitionException {
        EObject current = null;

        EObject lv_firstElement_0_0 = null;

        EObject lv_secondElement_1_0 = null;

        EObject lv_thirdElement_2_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:629:6: ( ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ( (lv_thirdElement_2_0= ruleGuiElement ) ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:630:1: ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ( (lv_thirdElement_2_0= ruleGuiElement ) ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:630:1: ( ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ( (lv_thirdElement_2_0= ruleGuiElement ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:630:2: ( (lv_firstElement_0_0= ruleGuiElement ) ) ( (lv_secondElement_1_0= ruleGuiElement ) ) ( (lv_thirdElement_2_0= ruleGuiElement ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:630:2: ( (lv_firstElement_0_0= ruleGuiElement ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:631:1: (lv_firstElement_0_0= ruleGuiElement )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:631:1: (lv_firstElement_0_0= ruleGuiElement )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:632:3: lv_firstElement_0_0= ruleGuiElement
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getThreeColumnLineAccess().getFirstElementGuiElementParserRuleCall_0_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleGuiElement_in_ruleThreeColumnLine1055);
            lv_firstElement_0_0=ruleGuiElement();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getThreeColumnLineRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"firstElement",
            	        		lv_firstElement_0_0, 
            	        		"GuiElement", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:654:2: ( (lv_secondElement_1_0= ruleGuiElement ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:655:1: (lv_secondElement_1_0= ruleGuiElement )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:655:1: (lv_secondElement_1_0= ruleGuiElement )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:656:3: lv_secondElement_1_0= ruleGuiElement
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getThreeColumnLineAccess().getSecondElementGuiElementParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleGuiElement_in_ruleThreeColumnLine1076);
            lv_secondElement_1_0=ruleGuiElement();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getThreeColumnLineRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"secondElement",
            	        		lv_secondElement_1_0, 
            	        		"GuiElement", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:678:2: ( (lv_thirdElement_2_0= ruleGuiElement ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:679:1: (lv_thirdElement_2_0= ruleGuiElement )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:679:1: (lv_thirdElement_2_0= ruleGuiElement )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:680:3: lv_thirdElement_2_0= ruleGuiElement
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getThreeColumnLineAccess().getThirdElementGuiElementParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleGuiElement_in_ruleThreeColumnLine1097);
            lv_thirdElement_2_0=ruleGuiElement();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getThreeColumnLineRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"thirdElement",
            	        		lv_thirdElement_2_0, 
            	        		"GuiElement", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleThreeColumnLine


    // $ANTLR start entryRuleRadioBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:709:1: entryRuleRadioBox returns [EObject current=null] : iv_ruleRadioBox= ruleRadioBox EOF ;
    public final EObject entryRuleRadioBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleRadioBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:709:50: (iv_ruleRadioBox= ruleRadioBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:710:2: iv_ruleRadioBox= ruleRadioBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getRadioBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleRadioBox_in_entryRuleRadioBox1130);
            iv_ruleRadioBox=ruleRadioBox();
            _fsp--;

             current =iv_ruleRadioBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRadioBox1140); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleRadioBox


    // $ANTLR start ruleRadioBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:717:1: ruleRadioBox returns [EObject current=null] : ( 'RadioBox' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_radioButtons_4_0= ruleRadioButton ) )+ ) ;
    public final EObject ruleRadioBox() throws RecognitionException {
        EObject current = null;

        Token lv_Description_1_0=null;
        Enumerator lv_color_3_0 = null;

        EObject lv_radioButtons_4_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:722:6: ( ( 'RadioBox' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_radioButtons_4_0= ruleRadioButton ) )+ ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:723:1: ( 'RadioBox' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_radioButtons_4_0= ruleRadioButton ) )+ )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:723:1: ( 'RadioBox' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_radioButtons_4_0= ruleRadioButton ) )+ )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:723:2: 'RadioBox' ( (lv_Description_1_0= RULE_STRING ) )? ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_radioButtons_4_0= ruleRadioButton ) )+
            {
            match(input,16,FOLLOW_16_in_ruleRadioBox1174); 

                    createLeafNode(grammarAccess.getRadioBoxAccess().getRadioBoxKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:727:1: ( (lv_Description_1_0= RULE_STRING ) )?
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==RULE_STRING) ) {
                alt13=1;
            }
            switch (alt13) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:728:1: (lv_Description_1_0= RULE_STRING )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:728:1: (lv_Description_1_0= RULE_STRING )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:729:3: lv_Description_1_0= RULE_STRING
                    {
                    lv_Description_1_0=(Token)input.LT(1);
                    match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRadioBox1191); 

                    			createLeafNode(grammarAccess.getRadioBoxAccess().getDescriptionSTRINGTerminalRuleCall_1_0(), "Description"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getRadioBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"Description",
                    	        		lv_Description_1_0, 
                    	        		"STRING", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:751:3: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt14=2;
            int LA14_0 = input.LA(1);

            if ( (LA14_0==12) ) {
                alt14=1;
            }
            switch (alt14) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:751:4: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleRadioBox1207); 

                            createLeafNode(grammarAccess.getRadioBoxAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:755:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:756:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:756:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:757:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getRadioBoxAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleRadioBox1228);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getRadioBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:779:4: ( (lv_radioButtons_4_0= ruleRadioButton ) )+
            int cnt15=0;
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( ((LA15_0>=18 && LA15_0<=19)) ) {
                    alt15=1;
                }


                switch (alt15) {
            	case 1 :
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:780:1: (lv_radioButtons_4_0= ruleRadioButton )
            	    {
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:780:1: (lv_radioButtons_4_0= ruleRadioButton )
            	    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:781:3: lv_radioButtons_4_0= ruleRadioButton
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getRadioBoxAccess().getRadioButtonsRadioButtonParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleRadioButton_in_ruleRadioBox1251);
            	    lv_radioButtons_4_0=ruleRadioButton();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getRadioBoxRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"radioButtons",
            	    	        		lv_radioButtons_4_0, 
            	    	        		"RadioButton", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt15 >= 1 ) break loop15;
                        EarlyExitException eee =
                            new EarlyExitException(15, input);
                        throw eee;
                }
                cnt15++;
            } while (true);


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleRadioBox


    // $ANTLR start entryRuleSeperatorLine
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:810:1: entryRuleSeperatorLine returns [EObject current=null] : iv_ruleSeperatorLine= ruleSeperatorLine EOF ;
    public final EObject entryRuleSeperatorLine() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSeperatorLine = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:810:55: (iv_ruleSeperatorLine= ruleSeperatorLine EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:811:2: iv_ruleSeperatorLine= ruleSeperatorLine EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSeperatorLineRule(), currentNode); 
            pushFollow(FOLLOW_ruleSeperatorLine_in_entryRuleSeperatorLine1285);
            iv_ruleSeperatorLine=ruleSeperatorLine();
            _fsp--;

             current =iv_ruleSeperatorLine; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSeperatorLine1295); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSeperatorLine


    // $ANTLR start ruleSeperatorLine
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:818:1: ruleSeperatorLine returns [EObject current=null] : ( 'SeperatorLine' ( (lv_Liniendicke_1_0= RULE_INT ) ) ) ;
    public final EObject ruleSeperatorLine() throws RecognitionException {
        EObject current = null;

        Token lv_Liniendicke_1_0=null;

         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:823:6: ( ( 'SeperatorLine' ( (lv_Liniendicke_1_0= RULE_INT ) ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:824:1: ( 'SeperatorLine' ( (lv_Liniendicke_1_0= RULE_INT ) ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:824:1: ( 'SeperatorLine' ( (lv_Liniendicke_1_0= RULE_INT ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:824:2: 'SeperatorLine' ( (lv_Liniendicke_1_0= RULE_INT ) )
            {
            match(input,17,FOLLOW_17_in_ruleSeperatorLine1329); 

                    createLeafNode(grammarAccess.getSeperatorLineAccess().getSeperatorLineKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:828:1: ( (lv_Liniendicke_1_0= RULE_INT ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:829:1: (lv_Liniendicke_1_0= RULE_INT )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:829:1: (lv_Liniendicke_1_0= RULE_INT )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:830:3: lv_Liniendicke_1_0= RULE_INT
            {
            lv_Liniendicke_1_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSeperatorLine1346); 

            			createLeafNode(grammarAccess.getSeperatorLineAccess().getLiniendickeINTTerminalRuleCall_1_0(), "Liniendicke"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSeperatorLineRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Liniendicke",
            	        		lv_Liniendicke_1_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSeperatorLine


    // $ANTLR start entryRuleRadioButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:859:1: entryRuleRadioButton returns [EObject current=null] : iv_ruleRadioButton= ruleRadioButton EOF ;
    public final EObject entryRuleRadioButton() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleRadioButton = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:859:53: (iv_ruleRadioButton= ruleRadioButton EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:860:2: iv_ruleRadioButton= ruleRadioButton EOF
            {
             currentNode = createCompositeNode(grammarAccess.getRadioButtonRule(), currentNode); 
            pushFollow(FOLLOW_ruleRadioButton_in_entryRuleRadioButton1384);
            iv_ruleRadioButton=ruleRadioButton();
            _fsp--;

             current =iv_ruleRadioButton; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRadioButton1394); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleRadioButton


    // $ANTLR start ruleRadioButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:867:1: ruleRadioButton returns [EObject current=null] : (this_CheckedRadioButton_0= ruleCheckedRadioButton | this_UncheckedRadioButton_1= ruleUncheckedRadioButton ) ;
    public final EObject ruleRadioButton() throws RecognitionException {
        EObject current = null;

        EObject this_CheckedRadioButton_0 = null;

        EObject this_UncheckedRadioButton_1 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:872:6: ( (this_CheckedRadioButton_0= ruleCheckedRadioButton | this_UncheckedRadioButton_1= ruleUncheckedRadioButton ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:873:1: (this_CheckedRadioButton_0= ruleCheckedRadioButton | this_UncheckedRadioButton_1= ruleUncheckedRadioButton )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:873:1: (this_CheckedRadioButton_0= ruleCheckedRadioButton | this_UncheckedRadioButton_1= ruleUncheckedRadioButton )
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==18) ) {
                alt16=1;
            }
            else if ( (LA16_0==19) ) {
                alt16=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("873:1: (this_CheckedRadioButton_0= ruleCheckedRadioButton | this_UncheckedRadioButton_1= ruleUncheckedRadioButton )", 16, 0, input);

                throw nvae;
            }
            switch (alt16) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:874:5: this_CheckedRadioButton_0= ruleCheckedRadioButton
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getRadioButtonAccess().getCheckedRadioButtonParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleCheckedRadioButton_in_ruleRadioButton1441);
                    this_CheckedRadioButton_0=ruleCheckedRadioButton();
                    _fsp--;

                     
                            current = this_CheckedRadioButton_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:884:5: this_UncheckedRadioButton_1= ruleUncheckedRadioButton
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getRadioButtonAccess().getUncheckedRadioButtonParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleUncheckedRadioButton_in_ruleRadioButton1468);
                    this_UncheckedRadioButton_1=ruleUncheckedRadioButton();
                    _fsp--;

                     
                            current = this_UncheckedRadioButton_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleRadioButton


    // $ANTLR start entryRuleCheckedRadioButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:899:1: entryRuleCheckedRadioButton returns [EObject current=null] : iv_ruleCheckedRadioButton= ruleCheckedRadioButton EOF ;
    public final EObject entryRuleCheckedRadioButton() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCheckedRadioButton = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:899:60: (iv_ruleCheckedRadioButton= ruleCheckedRadioButton EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:900:2: iv_ruleCheckedRadioButton= ruleCheckedRadioButton EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCheckedRadioButtonRule(), currentNode); 
            pushFollow(FOLLOW_ruleCheckedRadioButton_in_entryRuleCheckedRadioButton1500);
            iv_ruleCheckedRadioButton=ruleCheckedRadioButton();
            _fsp--;

             current =iv_ruleCheckedRadioButton; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCheckedRadioButton1510); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCheckedRadioButton


    // $ANTLR start ruleCheckedRadioButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:907:1: ruleCheckedRadioButton returns [EObject current=null] : ( '(+)' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) ;
    public final EObject ruleCheckedRadioButton() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:912:6: ( ( '(+)' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:913:1: ( '(+)' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:913:1: ( '(+)' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:913:2: '(+)' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            {
            match(input,18,FOLLOW_18_in_ruleCheckedRadioButton1544); 

                    createLeafNode(grammarAccess.getCheckedRadioButtonAccess().getLeftParenthesisPlusSignRightParenthesisKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:917:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:918:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:918:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:919:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleCheckedRadioButton1561); 

            			createLeafNode(grammarAccess.getCheckedRadioButtonAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getCheckedRadioButtonRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:941:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( (LA17_0==12) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:941:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleCheckedRadioButton1576); 

                            createLeafNode(grammarAccess.getCheckedRadioButtonAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:945:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:946:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:946:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:947:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getCheckedRadioButtonAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleCheckedRadioButton1597);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCheckedRadioButtonRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCheckedRadioButton


    // $ANTLR start entryRuleUncheckedRadioButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:976:1: entryRuleUncheckedRadioButton returns [EObject current=null] : iv_ruleUncheckedRadioButton= ruleUncheckedRadioButton EOF ;
    public final EObject entryRuleUncheckedRadioButton() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleUncheckedRadioButton = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:976:62: (iv_ruleUncheckedRadioButton= ruleUncheckedRadioButton EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:977:2: iv_ruleUncheckedRadioButton= ruleUncheckedRadioButton EOF
            {
             currentNode = createCompositeNode(grammarAccess.getUncheckedRadioButtonRule(), currentNode); 
            pushFollow(FOLLOW_ruleUncheckedRadioButton_in_entryRuleUncheckedRadioButton1632);
            iv_ruleUncheckedRadioButton=ruleUncheckedRadioButton();
            _fsp--;

             current =iv_ruleUncheckedRadioButton; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUncheckedRadioButton1642); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleUncheckedRadioButton


    // $ANTLR start ruleUncheckedRadioButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:984:1: ruleUncheckedRadioButton returns [EObject current=null] : ( '( )' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) ;
    public final EObject ruleUncheckedRadioButton() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:989:6: ( ( '( )' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:990:1: ( '( )' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:990:1: ( '( )' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:990:2: '( )' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            {
            match(input,19,FOLLOW_19_in_ruleUncheckedRadioButton1676); 

                    createLeafNode(grammarAccess.getUncheckedRadioButtonAccess().getLeftParenthesisSpaceRightParenthesisKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:994:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:995:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:995:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:996:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleUncheckedRadioButton1693); 

            			createLeafNode(grammarAccess.getUncheckedRadioButtonAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getUncheckedRadioButtonRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1018:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt18=2;
            int LA18_0 = input.LA(1);

            if ( (LA18_0==12) ) {
                alt18=1;
            }
            switch (alt18) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1018:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleUncheckedRadioButton1708); 

                            createLeafNode(grammarAccess.getUncheckedRadioButtonAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1022:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1023:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1023:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1024:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getUncheckedRadioButtonAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleUncheckedRadioButton1729);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getUncheckedRadioButtonRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleUncheckedRadioButton


    // $ANTLR start entryRuleGuiElement
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1053:1: entryRuleGuiElement returns [EObject current=null] : iv_ruleGuiElement= ruleGuiElement EOF ;
    public final EObject entryRuleGuiElement() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleGuiElement = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1053:52: (iv_ruleGuiElement= ruleGuiElement EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1054:2: iv_ruleGuiElement= ruleGuiElement EOF
            {
             currentNode = createCompositeNode(grammarAccess.getGuiElementRule(), currentNode); 
            pushFollow(FOLLOW_ruleGuiElement_in_entryRuleGuiElement1764);
            iv_ruleGuiElement=ruleGuiElement();
            _fsp--;

             current =iv_ruleGuiElement; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGuiElement1774); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleGuiElement


    // $ANTLR start ruleGuiElement
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1061:1: ruleGuiElement returns [EObject current=null] : (this_Button_0= ruleButton | this_Label_1= ruleLabel | this_EditText_2= ruleEditText | this_CheckBox_3= ruleCheckBox | this_Image_4= ruleImage | this_Placeholder_5= rulePlaceholder ) ;
    public final EObject ruleGuiElement() throws RecognitionException {
        EObject current = null;

        EObject this_Button_0 = null;

        EObject this_Label_1 = null;

        EObject this_EditText_2 = null;

        EObject this_CheckBox_3 = null;

        EObject this_Image_4 = null;

        EObject this_Placeholder_5 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1066:6: ( (this_Button_0= ruleButton | this_Label_1= ruleLabel | this_EditText_2= ruleEditText | this_CheckBox_3= ruleCheckBox | this_Image_4= ruleImage | this_Placeholder_5= rulePlaceholder ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1067:1: (this_Button_0= ruleButton | this_Label_1= ruleLabel | this_EditText_2= ruleEditText | this_CheckBox_3= ruleCheckBox | this_Image_4= ruleImage | this_Placeholder_5= rulePlaceholder )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1067:1: (this_Button_0= ruleButton | this_Label_1= ruleLabel | this_EditText_2= ruleEditText | this_CheckBox_3= ruleCheckBox | this_Image_4= ruleImage | this_Placeholder_5= rulePlaceholder )
            int alt19=6;
            switch ( input.LA(1) ) {
            case 20:
                {
                alt19=1;
                }
                break;
            case 26:
                {
                alt19=2;
                }
                break;
            case 28:
                {
                alt19=3;
                }
                break;
            case 24:
            case 25:
                {
                alt19=4;
                }
                break;
            case 23:
                {
                alt19=5;
                }
                break;
            case 21:
                {
                alt19=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("1067:1: (this_Button_0= ruleButton | this_Label_1= ruleLabel | this_EditText_2= ruleEditText | this_CheckBox_3= ruleCheckBox | this_Image_4= ruleImage | this_Placeholder_5= rulePlaceholder )", 19, 0, input);

                throw nvae;
            }

            switch (alt19) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1068:5: this_Button_0= ruleButton
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getGuiElementAccess().getButtonParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleButton_in_ruleGuiElement1821);
                    this_Button_0=ruleButton();
                    _fsp--;

                     
                            current = this_Button_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1078:5: this_Label_1= ruleLabel
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getGuiElementAccess().getLabelParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleLabel_in_ruleGuiElement1848);
                    this_Label_1=ruleLabel();
                    _fsp--;

                     
                            current = this_Label_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 3 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1088:5: this_EditText_2= ruleEditText
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getGuiElementAccess().getEditTextParserRuleCall_2(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleEditText_in_ruleGuiElement1875);
                    this_EditText_2=ruleEditText();
                    _fsp--;

                     
                            current = this_EditText_2; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 4 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1098:5: this_CheckBox_3= ruleCheckBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getGuiElementAccess().getCheckBoxParserRuleCall_3(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleCheckBox_in_ruleGuiElement1902);
                    this_CheckBox_3=ruleCheckBox();
                    _fsp--;

                     
                            current = this_CheckBox_3; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 5 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1108:5: this_Image_4= ruleImage
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getGuiElementAccess().getImageParserRuleCall_4(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleImage_in_ruleGuiElement1929);
                    this_Image_4=ruleImage();
                    _fsp--;

                     
                            current = this_Image_4; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 6 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1118:5: this_Placeholder_5= rulePlaceholder
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getGuiElementAccess().getPlaceholderParserRuleCall_5(), currentNode); 
                        
                    pushFollow(FOLLOW_rulePlaceholder_in_ruleGuiElement1956);
                    this_Placeholder_5=rulePlaceholder();
                    _fsp--;

                     
                            current = this_Placeholder_5; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleGuiElement


    // $ANTLR start entryRuleButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1133:1: entryRuleButton returns [EObject current=null] : iv_ruleButton= ruleButton EOF ;
    public final EObject entryRuleButton() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleButton = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1133:48: (iv_ruleButton= ruleButton EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1134:2: iv_ruleButton= ruleButton EOF
            {
             currentNode = createCompositeNode(grammarAccess.getButtonRule(), currentNode); 
            pushFollow(FOLLOW_ruleButton_in_entryRuleButton1988);
            iv_ruleButton=ruleButton();
            _fsp--;

             current =iv_ruleButton; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleButton1998); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleButton


    // $ANTLR start ruleButton
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1141:1: ruleButton returns [EObject current=null] : ( 'Button' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) ;
    public final EObject ruleButton() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1146:6: ( ( 'Button' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1147:1: ( 'Button' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1147:1: ( 'Button' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1147:2: 'Button' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            {
            match(input,20,FOLLOW_20_in_ruleButton2032); 

                    createLeafNode(grammarAccess.getButtonAccess().getButtonKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1151:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1152:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1152:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1153:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleButton2049); 

            			createLeafNode(grammarAccess.getButtonAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getButtonRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1175:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==12) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1175:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleButton2064); 

                            createLeafNode(grammarAccess.getButtonAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1179:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1180:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1180:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1181:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getButtonAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleButton2085);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getButtonRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleButton


    // $ANTLR start entryRulePlaceholder
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1210:1: entryRulePlaceholder returns [EObject current=null] : iv_rulePlaceholder= rulePlaceholder EOF ;
    public final EObject entryRulePlaceholder() throws RecognitionException {
        EObject current = null;

        EObject iv_rulePlaceholder = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1210:53: (iv_rulePlaceholder= rulePlaceholder EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1211:2: iv_rulePlaceholder= rulePlaceholder EOF
            {
             currentNode = createCompositeNode(grammarAccess.getPlaceholderRule(), currentNode); 
            pushFollow(FOLLOW_rulePlaceholder_in_entryRulePlaceholder2120);
            iv_rulePlaceholder=rulePlaceholder();
            _fsp--;

             current =iv_rulePlaceholder; 
            match(input,EOF,FOLLOW_EOF_in_entryRulePlaceholder2130); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRulePlaceholder


    // $ANTLR start rulePlaceholder
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1218:1: rulePlaceholder returns [EObject current=null] : ( 'Placeholder' () ( '+height=' ( (lv_height_3_0= RULE_INT ) ) )? ) ;
    public final EObject rulePlaceholder() throws RecognitionException {
        EObject current = null;

        Token lv_height_3_0=null;

         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1223:6: ( ( 'Placeholder' () ( '+height=' ( (lv_height_3_0= RULE_INT ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1224:1: ( 'Placeholder' () ( '+height=' ( (lv_height_3_0= RULE_INT ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1224:1: ( 'Placeholder' () ( '+height=' ( (lv_height_3_0= RULE_INT ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1224:2: 'Placeholder' () ( '+height=' ( (lv_height_3_0= RULE_INT ) ) )?
            {
            match(input,21,FOLLOW_21_in_rulePlaceholder2164); 

                    createLeafNode(grammarAccess.getPlaceholderAccess().getPlaceholderKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1228:1: ()
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1229:5: 
            {
             
                    temp=factory.create(grammarAccess.getPlaceholderAccess().getPlaceholderAction_1().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getPlaceholderAccess().getPlaceholderAction_1(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1239:2: ( '+height=' ( (lv_height_3_0= RULE_INT ) ) )?
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==22) ) {
                alt21=1;
            }
            switch (alt21) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1239:3: '+height=' ( (lv_height_3_0= RULE_INT ) )
                    {
                    match(input,22,FOLLOW_22_in_rulePlaceholder2183); 

                            createLeafNode(grammarAccess.getPlaceholderAccess().getHeightKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1243:1: ( (lv_height_3_0= RULE_INT ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1244:1: (lv_height_3_0= RULE_INT )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1244:1: (lv_height_3_0= RULE_INT )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1245:3: lv_height_3_0= RULE_INT
                    {
                    lv_height_3_0=(Token)input.LT(1);
                    match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePlaceholder2200); 

                    			createLeafNode(grammarAccess.getPlaceholderAccess().getHeightINTTerminalRuleCall_2_1_0(), "height"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getPlaceholderRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"height",
                    	        		lv_height_3_0, 
                    	        		"INT", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end rulePlaceholder


    // $ANTLR start entryRuleImage
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1274:1: entryRuleImage returns [EObject current=null] : iv_ruleImage= ruleImage EOF ;
    public final EObject entryRuleImage() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleImage = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1274:47: (iv_ruleImage= ruleImage EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1275:2: iv_ruleImage= ruleImage EOF
            {
             currentNode = createCompositeNode(grammarAccess.getImageRule(), currentNode); 
            pushFollow(FOLLOW_ruleImage_in_entryRuleImage2240);
            iv_ruleImage=ruleImage();
            _fsp--;

             current =iv_ruleImage; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImage2250); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleImage


    // $ANTLR start ruleImage
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1282:1: ruleImage returns [EObject current=null] : ( 'Image' ( (lv_FilenameWithoutExtension_1_0= RULE_STRING ) ) ) ;
    public final EObject ruleImage() throws RecognitionException {
        EObject current = null;

        Token lv_FilenameWithoutExtension_1_0=null;

         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1287:6: ( ( 'Image' ( (lv_FilenameWithoutExtension_1_0= RULE_STRING ) ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1288:1: ( 'Image' ( (lv_FilenameWithoutExtension_1_0= RULE_STRING ) ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1288:1: ( 'Image' ( (lv_FilenameWithoutExtension_1_0= RULE_STRING ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1288:2: 'Image' ( (lv_FilenameWithoutExtension_1_0= RULE_STRING ) )
            {
            match(input,23,FOLLOW_23_in_ruleImage2284); 

                    createLeafNode(grammarAccess.getImageAccess().getImageKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1292:1: ( (lv_FilenameWithoutExtension_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1293:1: (lv_FilenameWithoutExtension_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1293:1: (lv_FilenameWithoutExtension_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1294:3: lv_FilenameWithoutExtension_1_0= RULE_STRING
            {
            lv_FilenameWithoutExtension_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImage2301); 

            			createLeafNode(grammarAccess.getImageAccess().getFilenameWithoutExtensionSTRINGTerminalRuleCall_1_0(), "FilenameWithoutExtension"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getImageRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"FilenameWithoutExtension",
            	        		lv_FilenameWithoutExtension_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleImage


    // $ANTLR start entryRuleCheckBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1323:1: entryRuleCheckBox returns [EObject current=null] : iv_ruleCheckBox= ruleCheckBox EOF ;
    public final EObject entryRuleCheckBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCheckBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1323:50: (iv_ruleCheckBox= ruleCheckBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1324:2: iv_ruleCheckBox= ruleCheckBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCheckBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleCheckBox_in_entryRuleCheckBox2339);
            iv_ruleCheckBox=ruleCheckBox();
            _fsp--;

             current =iv_ruleCheckBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCheckBox2349); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCheckBox


    // $ANTLR start ruleCheckBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1331:1: ruleCheckBox returns [EObject current=null] : (this_CheckedCheckBox_0= ruleCheckedCheckBox | this_UncheckedCheckBox_1= ruleUncheckedCheckBox ) ;
    public final EObject ruleCheckBox() throws RecognitionException {
        EObject current = null;

        EObject this_CheckedCheckBox_0 = null;

        EObject this_UncheckedCheckBox_1 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1336:6: ( (this_CheckedCheckBox_0= ruleCheckedCheckBox | this_UncheckedCheckBox_1= ruleUncheckedCheckBox ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1337:1: (this_CheckedCheckBox_0= ruleCheckedCheckBox | this_UncheckedCheckBox_1= ruleUncheckedCheckBox )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1337:1: (this_CheckedCheckBox_0= ruleCheckedCheckBox | this_UncheckedCheckBox_1= ruleUncheckedCheckBox )
            int alt22=2;
            int LA22_0 = input.LA(1);

            if ( (LA22_0==24) ) {
                alt22=1;
            }
            else if ( (LA22_0==25) ) {
                alt22=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("1337:1: (this_CheckedCheckBox_0= ruleCheckedCheckBox | this_UncheckedCheckBox_1= ruleUncheckedCheckBox )", 22, 0, input);

                throw nvae;
            }
            switch (alt22) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1338:5: this_CheckedCheckBox_0= ruleCheckedCheckBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getCheckBoxAccess().getCheckedCheckBoxParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleCheckedCheckBox_in_ruleCheckBox2396);
                    this_CheckedCheckBox_0=ruleCheckedCheckBox();
                    _fsp--;

                     
                            current = this_CheckedCheckBox_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1348:5: this_UncheckedCheckBox_1= ruleUncheckedCheckBox
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getCheckBoxAccess().getUncheckedCheckBoxParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleUncheckedCheckBox_in_ruleCheckBox2423);
                    this_UncheckedCheckBox_1=ruleUncheckedCheckBox();
                    _fsp--;

                     
                            current = this_UncheckedCheckBox_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCheckBox


    // $ANTLR start entryRuleCheckedCheckBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1363:1: entryRuleCheckedCheckBox returns [EObject current=null] : iv_ruleCheckedCheckBox= ruleCheckedCheckBox EOF ;
    public final EObject entryRuleCheckedCheckBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCheckedCheckBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1363:57: (iv_ruleCheckedCheckBox= ruleCheckedCheckBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1364:2: iv_ruleCheckedCheckBox= ruleCheckedCheckBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCheckedCheckBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleCheckedCheckBox_in_entryRuleCheckedCheckBox2455);
            iv_ruleCheckedCheckBox=ruleCheckedCheckBox();
            _fsp--;

             current =iv_ruleCheckedCheckBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCheckedCheckBox2465); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCheckedCheckBox


    // $ANTLR start ruleCheckedCheckBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1371:1: ruleCheckedCheckBox returns [EObject current=null] : ( 'CheckBox [+]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) ;
    public final EObject ruleCheckedCheckBox() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1376:6: ( ( 'CheckBox [+]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1377:1: ( 'CheckBox [+]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1377:1: ( 'CheckBox [+]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1377:2: 'CheckBox [+]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            {
            match(input,24,FOLLOW_24_in_ruleCheckedCheckBox2499); 

                    createLeafNode(grammarAccess.getCheckedCheckBoxAccess().getCheckBoxKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1381:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1382:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1382:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1383:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleCheckedCheckBox2516); 

            			createLeafNode(grammarAccess.getCheckedCheckBoxAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getCheckedCheckBoxRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1405:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt23=2;
            int LA23_0 = input.LA(1);

            if ( (LA23_0==12) ) {
                alt23=1;
            }
            switch (alt23) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1405:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleCheckedCheckBox2531); 

                            createLeafNode(grammarAccess.getCheckedCheckBoxAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1409:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1410:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1410:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1411:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getCheckedCheckBoxAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleCheckedCheckBox2552);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCheckedCheckBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCheckedCheckBox


    // $ANTLR start entryRuleUncheckedCheckBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1440:1: entryRuleUncheckedCheckBox returns [EObject current=null] : iv_ruleUncheckedCheckBox= ruleUncheckedCheckBox EOF ;
    public final EObject entryRuleUncheckedCheckBox() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleUncheckedCheckBox = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1440:59: (iv_ruleUncheckedCheckBox= ruleUncheckedCheckBox EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1441:2: iv_ruleUncheckedCheckBox= ruleUncheckedCheckBox EOF
            {
             currentNode = createCompositeNode(grammarAccess.getUncheckedCheckBoxRule(), currentNode); 
            pushFollow(FOLLOW_ruleUncheckedCheckBox_in_entryRuleUncheckedCheckBox2587);
            iv_ruleUncheckedCheckBox=ruleUncheckedCheckBox();
            _fsp--;

             current =iv_ruleUncheckedCheckBox; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUncheckedCheckBox2597); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleUncheckedCheckBox


    // $ANTLR start ruleUncheckedCheckBox
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1448:1: ruleUncheckedCheckBox returns [EObject current=null] : ( 'CheckBox [ ]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) ;
    public final EObject ruleUncheckedCheckBox() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1453:6: ( ( 'CheckBox [ ]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1454:1: ( 'CheckBox [ ]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1454:1: ( 'CheckBox [ ]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1454:2: 'CheckBox [ ]' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            {
            match(input,25,FOLLOW_25_in_ruleUncheckedCheckBox2631); 

                    createLeafNode(grammarAccess.getUncheckedCheckBoxAccess().getCheckBoxKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1458:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1459:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1459:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1460:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleUncheckedCheckBox2648); 

            			createLeafNode(grammarAccess.getUncheckedCheckBoxAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getUncheckedCheckBoxRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1482:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt24=2;
            int LA24_0 = input.LA(1);

            if ( (LA24_0==12) ) {
                alt24=1;
            }
            switch (alt24) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1482:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleUncheckedCheckBox2663); 

                            createLeafNode(grammarAccess.getUncheckedCheckBoxAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1486:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1487:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1487:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1488:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getUncheckedCheckBoxAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleUncheckedCheckBox2684);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getUncheckedCheckBoxRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleUncheckedCheckBox


    // $ANTLR start entryRuleLabel
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1517:1: entryRuleLabel returns [EObject current=null] : iv_ruleLabel= ruleLabel EOF ;
    public final EObject entryRuleLabel() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleLabel = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1517:47: (iv_ruleLabel= ruleLabel EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1518:2: iv_ruleLabel= ruleLabel EOF
            {
             currentNode = createCompositeNode(grammarAccess.getLabelRule(), currentNode); 
            pushFollow(FOLLOW_ruleLabel_in_entryRuleLabel2719);
            iv_ruleLabel=ruleLabel();
            _fsp--;

             current =iv_ruleLabel; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLabel2729); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleLabel


    // $ANTLR start ruleLabel
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1525:1: ruleLabel returns [EObject current=null] : ( 'Label' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_zentriert_4_0= '+centered' ) )? ) ;
    public final EObject ruleLabel() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Token lv_zentriert_4_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1530:6: ( ( 'Label' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_zentriert_4_0= '+centered' ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1531:1: ( 'Label' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_zentriert_4_0= '+centered' ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1531:1: ( 'Label' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_zentriert_4_0= '+centered' ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1531:2: 'Label' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ( (lv_zentriert_4_0= '+centered' ) )?
            {
            match(input,26,FOLLOW_26_in_ruleLabel2763); 

                    createLeafNode(grammarAccess.getLabelAccess().getLabelKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1535:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1536:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1536:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1537:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleLabel2780); 

            			createLeafNode(grammarAccess.getLabelAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getLabelRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1559:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt25=2;
            int LA25_0 = input.LA(1);

            if ( (LA25_0==12) ) {
                alt25=1;
            }
            switch (alt25) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1559:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleLabel2795); 

                            createLeafNode(grammarAccess.getLabelAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1563:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1564:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1564:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1565:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getLabelAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleLabel2816);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLabelRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1587:4: ( (lv_zentriert_4_0= '+centered' ) )?
            int alt26=2;
            int LA26_0 = input.LA(1);

            if ( (LA26_0==27) ) {
                alt26=1;
            }
            switch (alt26) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1588:1: (lv_zentriert_4_0= '+centered' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1588:1: (lv_zentriert_4_0= '+centered' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1589:3: lv_zentriert_4_0= '+centered'
                    {
                    lv_zentriert_4_0=(Token)input.LT(1);
                    match(input,27,FOLLOW_27_in_ruleLabel2835); 

                            createLeafNode(grammarAccess.getLabelAccess().getZentriertCenteredKeyword_3_0(), "zentriert"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getLabelRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "zentriert", true, "+centered", lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleLabel


    // $ANTLR start entryRuleEditText
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1615:1: entryRuleEditText returns [EObject current=null] : iv_ruleEditText= ruleEditText EOF ;
    public final EObject entryRuleEditText() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleEditText = null;


        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1615:50: (iv_ruleEditText= ruleEditText EOF )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1616:2: iv_ruleEditText= ruleEditText EOF
            {
             currentNode = createCompositeNode(grammarAccess.getEditTextRule(), currentNode); 
            pushFollow(FOLLOW_ruleEditText_in_entryRuleEditText2882);
            iv_ruleEditText=ruleEditText();
            _fsp--;

             current =iv_ruleEditText; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEditText2892); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleEditText


    // $ANTLR start ruleEditText
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1623:1: ruleEditText returns [EObject current=null] : ( 'EditText' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) ;
    public final EObject ruleEditText() throws RecognitionException {
        EObject current = null;

        Token lv_Text_1_0=null;
        Enumerator lv_color_3_0 = null;


         @SuppressWarnings("unused") EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1628:6: ( ( 'EditText' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1629:1: ( 'EditText' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1629:1: ( 'EditText' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )? )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1629:2: 'EditText' ( (lv_Text_1_0= RULE_STRING ) ) ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            {
            match(input,28,FOLLOW_28_in_ruleEditText2926); 

                    createLeafNode(grammarAccess.getEditTextAccess().getEditTextKeyword_0(), null); 
                
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1633:1: ( (lv_Text_1_0= RULE_STRING ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1634:1: (lv_Text_1_0= RULE_STRING )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1634:1: (lv_Text_1_0= RULE_STRING )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1635:3: lv_Text_1_0= RULE_STRING
            {
            lv_Text_1_0=(Token)input.LT(1);
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleEditText2943); 

            			createLeafNode(grammarAccess.getEditTextAccess().getTextSTRINGTerminalRuleCall_1_0(), "Text"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEditTextRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"Text",
            	        		lv_Text_1_0, 
            	        		"STRING", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1657:2: ( '+color=' ( (lv_color_3_0= ruleColors ) ) )?
            int alt27=2;
            int LA27_0 = input.LA(1);

            if ( (LA27_0==12) ) {
                alt27=1;
            }
            switch (alt27) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1657:3: '+color=' ( (lv_color_3_0= ruleColors ) )
                    {
                    match(input,12,FOLLOW_12_in_ruleEditText2958); 

                            createLeafNode(grammarAccess.getEditTextAccess().getColorKeyword_2_0(), null); 
                        
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1661:1: ( (lv_color_3_0= ruleColors ) )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1662:1: (lv_color_3_0= ruleColors )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1662:1: (lv_color_3_0= ruleColors )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1663:3: lv_color_3_0= ruleColors
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getEditTextAccess().getColorColorsEnumRuleCall_2_1_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleColors_in_ruleEditText2979);
                    lv_color_3_0=ruleColors();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getEditTextRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"color",
                    	        		lv_color_3_0, 
                    	        		"Colors", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleEditText


    // $ANTLR start ruleColors
    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1692:1: ruleColors returns [Enumerator current=null] : ( ( 'null' ) | ( 'blue' ) | ( 'red' ) | ( 'green' ) | ( 'gray' ) | ( 'lila' ) | ( 'orange' ) | ( 'blueLight' ) | ( 'redLight' ) | ( 'greenLight' ) | ( 'grayLight' ) | ( 'lilaLight' ) | ( 'orangeLight' ) | ( 'white' ) | ( 'black' ) ) ;
    public final Enumerator ruleColors() throws RecognitionException {
        Enumerator current = null;

         setCurrentLookahead(); resetLookahead(); 
        try {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1696:6: ( ( ( 'null' ) | ( 'blue' ) | ( 'red' ) | ( 'green' ) | ( 'gray' ) | ( 'lila' ) | ( 'orange' ) | ( 'blueLight' ) | ( 'redLight' ) | ( 'greenLight' ) | ( 'grayLight' ) | ( 'lilaLight' ) | ( 'orangeLight' ) | ( 'white' ) | ( 'black' ) ) )
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1697:1: ( ( 'null' ) | ( 'blue' ) | ( 'red' ) | ( 'green' ) | ( 'gray' ) | ( 'lila' ) | ( 'orange' ) | ( 'blueLight' ) | ( 'redLight' ) | ( 'greenLight' ) | ( 'grayLight' ) | ( 'lilaLight' ) | ( 'orangeLight' ) | ( 'white' ) | ( 'black' ) )
            {
            // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1697:1: ( ( 'null' ) | ( 'blue' ) | ( 'red' ) | ( 'green' ) | ( 'gray' ) | ( 'lila' ) | ( 'orange' ) | ( 'blueLight' ) | ( 'redLight' ) | ( 'greenLight' ) | ( 'grayLight' ) | ( 'lilaLight' ) | ( 'orangeLight' ) | ( 'white' ) | ( 'black' ) )
            int alt28=15;
            switch ( input.LA(1) ) {
            case 29:
                {
                alt28=1;
                }
                break;
            case 30:
                {
                alt28=2;
                }
                break;
            case 31:
                {
                alt28=3;
                }
                break;
            case 32:
                {
                alt28=4;
                }
                break;
            case 33:
                {
                alt28=5;
                }
                break;
            case 34:
                {
                alt28=6;
                }
                break;
            case 35:
                {
                alt28=7;
                }
                break;
            case 36:
                {
                alt28=8;
                }
                break;
            case 37:
                {
                alt28=9;
                }
                break;
            case 38:
                {
                alt28=10;
                }
                break;
            case 39:
                {
                alt28=11;
                }
                break;
            case 40:
                {
                alt28=12;
                }
                break;
            case 41:
                {
                alt28=13;
                }
                break;
            case 42:
                {
                alt28=14;
                }
                break;
            case 43:
                {
                alt28=15;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("1697:1: ( ( 'null' ) | ( 'blue' ) | ( 'red' ) | ( 'green' ) | ( 'gray' ) | ( 'lila' ) | ( 'orange' ) | ( 'blueLight' ) | ( 'redLight' ) | ( 'greenLight' ) | ( 'grayLight' ) | ( 'lilaLight' ) | ( 'orangeLight' ) | ( 'white' ) | ( 'black' ) )", 28, 0, input);

                throw nvae;
            }

            switch (alt28) {
                case 1 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1697:2: ( 'null' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1697:2: ( 'null' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1697:4: 'null'
                    {
                    match(input,29,FOLLOW_29_in_ruleColors3028); 

                            current = grammarAccess.getColorsAccess().getNullEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getNullEnumLiteralDeclaration_0(), null); 
                        

                    }


                    }
                    break;
                case 2 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1703:6: ( 'blue' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1703:6: ( 'blue' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1703:8: 'blue'
                    {
                    match(input,30,FOLLOW_30_in_ruleColors3043); 

                            current = grammarAccess.getColorsAccess().getBlueEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getBlueEnumLiteralDeclaration_1(), null); 
                        

                    }


                    }
                    break;
                case 3 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1709:6: ( 'red' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1709:6: ( 'red' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1709:8: 'red'
                    {
                    match(input,31,FOLLOW_31_in_ruleColors3058); 

                            current = grammarAccess.getColorsAccess().getRedEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getRedEnumLiteralDeclaration_2(), null); 
                        

                    }


                    }
                    break;
                case 4 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1715:6: ( 'green' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1715:6: ( 'green' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1715:8: 'green'
                    {
                    match(input,32,FOLLOW_32_in_ruleColors3073); 

                            current = grammarAccess.getColorsAccess().getGreenEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getGreenEnumLiteralDeclaration_3(), null); 
                        

                    }


                    }
                    break;
                case 5 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1721:6: ( 'gray' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1721:6: ( 'gray' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1721:8: 'gray'
                    {
                    match(input,33,FOLLOW_33_in_ruleColors3088); 

                            current = grammarAccess.getColorsAccess().getGrayEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getGrayEnumLiteralDeclaration_4(), null); 
                        

                    }


                    }
                    break;
                case 6 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1727:6: ( 'lila' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1727:6: ( 'lila' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1727:8: 'lila'
                    {
                    match(input,34,FOLLOW_34_in_ruleColors3103); 

                            current = grammarAccess.getColorsAccess().getLilaEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getLilaEnumLiteralDeclaration_5(), null); 
                        

                    }


                    }
                    break;
                case 7 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1733:6: ( 'orange' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1733:6: ( 'orange' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1733:8: 'orange'
                    {
                    match(input,35,FOLLOW_35_in_ruleColors3118); 

                            current = grammarAccess.getColorsAccess().getOrangeEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getOrangeEnumLiteralDeclaration_6(), null); 
                        

                    }


                    }
                    break;
                case 8 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1739:6: ( 'blueLight' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1739:6: ( 'blueLight' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1739:8: 'blueLight'
                    {
                    match(input,36,FOLLOW_36_in_ruleColors3133); 

                            current = grammarAccess.getColorsAccess().getBlueLightEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getBlueLightEnumLiteralDeclaration_7(), null); 
                        

                    }


                    }
                    break;
                case 9 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1745:6: ( 'redLight' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1745:6: ( 'redLight' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1745:8: 'redLight'
                    {
                    match(input,37,FOLLOW_37_in_ruleColors3148); 

                            current = grammarAccess.getColorsAccess().getRedLightEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getRedLightEnumLiteralDeclaration_8(), null); 
                        

                    }


                    }
                    break;
                case 10 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1751:6: ( 'greenLight' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1751:6: ( 'greenLight' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1751:8: 'greenLight'
                    {
                    match(input,38,FOLLOW_38_in_ruleColors3163); 

                            current = grammarAccess.getColorsAccess().getGreenLightEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getGreenLightEnumLiteralDeclaration_9(), null); 
                        

                    }


                    }
                    break;
                case 11 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1757:6: ( 'grayLight' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1757:6: ( 'grayLight' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1757:8: 'grayLight'
                    {
                    match(input,39,FOLLOW_39_in_ruleColors3178); 

                            current = grammarAccess.getColorsAccess().getGrayLightEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getGrayLightEnumLiteralDeclaration_10(), null); 
                        

                    }


                    }
                    break;
                case 12 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1763:6: ( 'lilaLight' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1763:6: ( 'lilaLight' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1763:8: 'lilaLight'
                    {
                    match(input,40,FOLLOW_40_in_ruleColors3193); 

                            current = grammarAccess.getColorsAccess().getLilaLightEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getLilaLightEnumLiteralDeclaration_11(), null); 
                        

                    }


                    }
                    break;
                case 13 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1769:6: ( 'orangeLight' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1769:6: ( 'orangeLight' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1769:8: 'orangeLight'
                    {
                    match(input,41,FOLLOW_41_in_ruleColors3208); 

                            current = grammarAccess.getColorsAccess().getOrangeLightEnumLiteralDeclaration_12().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getOrangeLightEnumLiteralDeclaration_12(), null); 
                        

                    }


                    }
                    break;
                case 14 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1775:6: ( 'white' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1775:6: ( 'white' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1775:8: 'white'
                    {
                    match(input,42,FOLLOW_42_in_ruleColors3223); 

                            current = grammarAccess.getColorsAccess().getWhiteEnumLiteralDeclaration_13().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getWhiteEnumLiteralDeclaration_13(), null); 
                        

                    }


                    }
                    break;
                case 15 :
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1781:6: ( 'black' )
                    {
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1781:6: ( 'black' )
                    // ../de.rwth.AndroidGuiCreator/src-gen/de/rwth/parser/antlr/internal/InternalAdroidGuiLang.g:1781:8: 'black'
                    {
                    match(input,43,FOLLOW_43_in_ruleColors3238); 

                            current = grammarAccess.getColorsAccess().getBlackEnumLiteralDeclaration_14().getEnumLiteral().getInstance();
                            createLeafNode(grammarAccess.getColorsAccess().getBlackEnumLiteralDeclaration_14(), null); 
                        

                    }


                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleColors


 

    public static final BitSet FOLLOW_ruleWindow_in_entryRuleWindow73 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleWindow83 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleWindow117 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleWindow134 = new BitSet(new long[]{0x000000000003F000L});
    public static final BitSet FOLLOW_12_in_ruleWindow149 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleWindow170 = new BitSet(new long[]{0x000000000003E000L});
    public static final BitSet FOLLOW_ruleBox_in_ruleWindow193 = new BitSet(new long[]{0x000000000003E002L});
    public static final BitSet FOLLOW_ruleBox_in_entryRuleBox227 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBox237 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOneColumnBox_in_ruleBox284 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTwoColumnBox_in_ruleBox311 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThreeColumnBox_in_ruleBox338 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioBox_in_ruleBox365 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSeperatorLine_in_ruleBox392 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleOneColumnBox_in_entryRuleOneColumnBox424 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleOneColumnBox434 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_ruleOneColumnBox468 = new BitSet(new long[]{0x0000000017B01010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleOneColumnBox485 = new BitSet(new long[]{0x0000000017B01000L});
    public static final BitSet FOLLOW_12_in_ruleOneColumnBox501 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleOneColumnBox522 = new BitSet(new long[]{0x0000000017B00000L});
    public static final BitSet FOLLOW_ruleGuiElement_in_ruleOneColumnBox545 = new BitSet(new long[]{0x0000000017B00002L});
    public static final BitSet FOLLOW_ruleTwoColumnBox_in_entryRuleTwoColumnBox579 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTwoColumnBox589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_ruleTwoColumnBox623 = new BitSet(new long[]{0x0000000017B01010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleTwoColumnBox640 = new BitSet(new long[]{0x0000000017B01000L});
    public static final BitSet FOLLOW_12_in_ruleTwoColumnBox656 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleTwoColumnBox677 = new BitSet(new long[]{0x0000000017B00000L});
    public static final BitSet FOLLOW_ruleTwoColumnLine_in_ruleTwoColumnBox700 = new BitSet(new long[]{0x0000000017B00002L});
    public static final BitSet FOLLOW_ruleTwoColumnLine_in_entryRuleTwoColumnLine734 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTwoColumnLine744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuiElement_in_ruleTwoColumnLine790 = new BitSet(new long[]{0x0000000017B00000L});
    public static final BitSet FOLLOW_ruleGuiElement_in_ruleTwoColumnLine811 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleThreeColumnBox_in_entryRuleThreeColumnBox844 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleThreeColumnBox854 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_ruleThreeColumnBox888 = new BitSet(new long[]{0x0000000017B01010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleThreeColumnBox905 = new BitSet(new long[]{0x0000000017B01000L});
    public static final BitSet FOLLOW_12_in_ruleThreeColumnBox921 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleThreeColumnBox942 = new BitSet(new long[]{0x0000000017B00000L});
    public static final BitSet FOLLOW_ruleThreeColumnLine_in_ruleThreeColumnBox965 = new BitSet(new long[]{0x0000000017B00002L});
    public static final BitSet FOLLOW_ruleThreeColumnLine_in_entryRuleThreeColumnLine999 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleThreeColumnLine1009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuiElement_in_ruleThreeColumnLine1055 = new BitSet(new long[]{0x0000000017B00000L});
    public static final BitSet FOLLOW_ruleGuiElement_in_ruleThreeColumnLine1076 = new BitSet(new long[]{0x0000000017B00000L});
    public static final BitSet FOLLOW_ruleGuiElement_in_ruleThreeColumnLine1097 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioBox_in_entryRuleRadioBox1130 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRadioBox1140 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_ruleRadioBox1174 = new BitSet(new long[]{0x00000000000C1010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleRadioBox1191 = new BitSet(new long[]{0x00000000000C1000L});
    public static final BitSet FOLLOW_12_in_ruleRadioBox1207 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleRadioBox1228 = new BitSet(new long[]{0x00000000000C0000L});
    public static final BitSet FOLLOW_ruleRadioButton_in_ruleRadioBox1251 = new BitSet(new long[]{0x00000000000C0002L});
    public static final BitSet FOLLOW_ruleSeperatorLine_in_entryRuleSeperatorLine1285 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSeperatorLine1295 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_ruleSeperatorLine1329 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleSeperatorLine1346 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRadioButton_in_entryRuleRadioButton1384 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRadioButton1394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckedRadioButton_in_ruleRadioButton1441 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUncheckedRadioButton_in_ruleRadioButton1468 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckedRadioButton_in_entryRuleCheckedRadioButton1500 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCheckedRadioButton1510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_ruleCheckedRadioButton1544 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleCheckedRadioButton1561 = new BitSet(new long[]{0x0000000000001002L});
    public static final BitSet FOLLOW_12_in_ruleCheckedRadioButton1576 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleCheckedRadioButton1597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUncheckedRadioButton_in_entryRuleUncheckedRadioButton1632 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUncheckedRadioButton1642 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_ruleUncheckedRadioButton1676 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleUncheckedRadioButton1693 = new BitSet(new long[]{0x0000000000001002L});
    public static final BitSet FOLLOW_12_in_ruleUncheckedRadioButton1708 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleUncheckedRadioButton1729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuiElement_in_entryRuleGuiElement1764 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGuiElement1774 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleButton_in_ruleGuiElement1821 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLabel_in_ruleGuiElement1848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEditText_in_ruleGuiElement1875 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckBox_in_ruleGuiElement1902 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImage_in_ruleGuiElement1929 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlaceholder_in_ruleGuiElement1956 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleButton_in_entryRuleButton1988 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleButton1998 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_ruleButton2032 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleButton2049 = new BitSet(new long[]{0x0000000000001002L});
    public static final BitSet FOLLOW_12_in_ruleButton2064 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleButton2085 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePlaceholder_in_entryRulePlaceholder2120 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePlaceholder2130 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rulePlaceholder2164 = new BitSet(new long[]{0x0000000000400002L});
    public static final BitSet FOLLOW_22_in_rulePlaceholder2183 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_rulePlaceholder2200 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImage_in_entryRuleImage2240 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImage2250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_ruleImage2284 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleImage2301 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckBox_in_entryRuleCheckBox2339 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCheckBox2349 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckedCheckBox_in_ruleCheckBox2396 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUncheckedCheckBox_in_ruleCheckBox2423 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCheckedCheckBox_in_entryRuleCheckedCheckBox2455 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCheckedCheckBox2465 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_ruleCheckedCheckBox2499 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleCheckedCheckBox2516 = new BitSet(new long[]{0x0000000000001002L});
    public static final BitSet FOLLOW_12_in_ruleCheckedCheckBox2531 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleCheckedCheckBox2552 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUncheckedCheckBox_in_entryRuleUncheckedCheckBox2587 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUncheckedCheckBox2597 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_ruleUncheckedCheckBox2631 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleUncheckedCheckBox2648 = new BitSet(new long[]{0x0000000000001002L});
    public static final BitSet FOLLOW_12_in_ruleUncheckedCheckBox2663 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleUncheckedCheckBox2684 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLabel_in_entryRuleLabel2719 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLabel2729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_ruleLabel2763 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleLabel2780 = new BitSet(new long[]{0x0000000008001002L});
    public static final BitSet FOLLOW_12_in_ruleLabel2795 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleLabel2816 = new BitSet(new long[]{0x0000000008000002L});
    public static final BitSet FOLLOW_27_in_ruleLabel2835 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEditText_in_entryRuleEditText2882 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEditText2892 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_ruleEditText2926 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_STRING_in_ruleEditText2943 = new BitSet(new long[]{0x0000000000001002L});
    public static final BitSet FOLLOW_12_in_ruleEditText2958 = new BitSet(new long[]{0x00000FFFE0000000L});
    public static final BitSet FOLLOW_ruleColors_in_ruleEditText2979 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_ruleColors3028 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_ruleColors3043 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_ruleColors3058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_ruleColors3073 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_ruleColors3088 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_ruleColors3103 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_ruleColors3118 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_ruleColors3133 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_ruleColors3148 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_ruleColors3163 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_ruleColors3178 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_ruleColors3193 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_ruleColors3208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_42_in_ruleColors3223 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_ruleColors3238 = new BitSet(new long[]{0x0000000000000002L});

}